Motion-compensated predictive video compression exploits the similarity of successive pictures by making predictions from previously coded pictures. The pictures from which the predictions are taken can come from the past (forward prediction) or the future (backward prediction) or a combination of the two (bi-directional prediction), thus enabling the prediction of uncovered areas. Therefore, state-of-the-art video compression engines can cope with most types of motion and critical picture material, but the coding of each image in the sequence is clearly dependent on that of its neighbours.
However, there are effects which can cause severe picture degradation and are worthy of special mitigating treatment. One such effect arises during coding of video sequences that contain short, bright flashes, such as those that occur when a still camera with a flash gun attached is used in the field of view, or strobing is present in the scene (e.g. a movie set in a nightclub, or muzzle flashes of a gun). Predictive coding during a group of pictures where some of these pictures are affected by short, bright flashes leads to poor compression performance.
This is because the statistical analysis used in flash detection is closely related to that used for scene change during typical video encoding processes. However, scenes with rapidly changing brightness levels produce strong artefacts that mislead most known scene change detection algorithms. During an encoding process, flash detection is important as it allows the encoding engine to distinguish between a real scene change and a natural luminosity change in a video sequence, and to adapt the system rate control operations accordingly.
There are flash detection methods available in the computer vision and image processing fields. However, they are complicated, expensive or difficult to be implemented in high speed real time platforms or they lack enough accuracy when used.